In production systems including a server application and a database, best practices dictate that new versions of the application should be tested before they are deployed in order to allow detection of any errors or “bugs” in the new version before exposing end users to the new version.
Often, if the new version is run using the production database, testing the application includes modifying the data stored in the database. To avoid exposing end users to test data, a separate test copy of the database is made, and testing is performed using the test database.